const jwt = require('jsonwebtoken')

const ifToken = async(req, res, next) => {
    const token = req.get('token')
    if (token) {
        // 使用 Promise 来处理 jwt.verify 的异步操作
        await new Promise((resolve, reject) => {
            jwt.verify(token, 'cbb', (err, decoded) => {
                if (err) {
                    res.json({ code: '404', msg: '登录过期' })
                } else {
                    resolve(decoded);
                }
            });
        });
        // 如果验证成功，继续执行下一个中间件
        next();
    }else{
        // 如果没有 token，也返回错误信息
        return res.json({ code: '404', msg: '缺少 token' });
    }
}

module.exports = ifToken